package com.volunteer.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 活动报名实体类
 */
@Data
@TableName("activity_enrollment")
public class ActivityEnrollment implements Serializable {

    @TableId(type = IdType.AUTO)
    private Long id;

    private Long activityId;

    private Long userId;

    private String status;  // ENROLLED, APPROVED, REJECTED, COMPLETED, CANCELLED

    private String applyReason;

    private String remark;

    private LocalDateTime checkInTime;  // 签到时间

    private LocalDateTime checkOutTime;  // 签退时间

    private LocalDateTime cancelTime;  // 取消时间

    private String cancelReason;  // 取消原因

    private Integer penaltyPoints;  // 扣除积分

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}

